package com.demarc.pesquisas.infraestrutura.web.component;

import java.util.Iterator;
import java.util.List;

import javax.faces.component.FacesComponent;
import javax.faces.component.UIInput;
import javax.faces.context.FacesContext;

import org.omnifaces.component.validator.ValidateOne;
import org.omnifaces.util.Components;
import org.omnifaces.util.Utils;

import com.demarc.pesquisas.infraestrutura.mensagem.Mensagem;
import com.demarc.pesquisas.infraestrutura.mensagem.MensagemJsfUtils;
import com.demarc.pesquisas.infraestrutura.mensagem.MensagemUtil;

@FacesComponent(ValidacaoUm.COMPONENT_TYPE)
public class ValidacaoUm extends ValidateOne {

	// Public constants
	// -----------------------------------------------------------------------------------------------

	/** The standard component type. */
	public static final String COMPONENT_TYPE = "com.demarc.pesquisas.infraestrutura.web.component.ValidacaoUm";

	@Override
	protected void showMessage(FacesContext context, List<UIInput> inputs) {
		for (Iterator<UIInput> iterator = inputs.iterator(); iterator.hasNext();) {
			UIInput input = iterator.next();

			if (!Utils.isEmpty(input.getSubmittedValue())) {
				continue;
			}
			String label = Components.getLabel(input);

			Mensagem mensagem = new Mensagem(
					"javax.faces.component.UIInput.REQUIRED_detail", label);
			MensagemJsfUtils.adicionarMensagemErro(MensagemUtil.get(mensagem));
		}
	}
}
